// 内存回收和溢出的过程
function getme() {
  let mem = process.memoryUsage();
  let format = function (bytes) {
    return (bytes / 1024 / 1024).toFixed(2) + "MB";
  };
  console.log(
    "heapTotal:" + format(mem.heapTotal) + "\theapUsed:" + format(mem.heapUsed)
  );
}
let a = []; // 全局变量 不回收
let size = 20 * 1024 * 1024;
function b() {
  // 局部变量 内存满且无引用
  let arr1 = new Array(size);
  let arr2 = new Array(size);
  let arr3 = new Array(size);
  let arr4 = new Array(size);
  let arr5 = new Array(size);
}
b();
getme();
setInterval(() => {
  a.push(new Array(size));
  getme();
}, 1000);

// V8引擎：1.4G
// node有C++分配的额外内存：共2G
